//map的底层 是红黑树
//所以我们会使用map来封装一个红黑树
//map里是存放的键值对
#include "NewRBTree.h"

namespace wyd
{
    template <class K, class V>
    class map
    {
        struct MapOfVal
        {
            const K& operator()(const pair<const K, V>& data)
            {
                return data.first;
            }
        };
    public:
        typedef typename RBTree<K, pair<const K, V>, MapOfVal>::iterator iterator;

        bool insert(const pair<const K, V>& kv)
        {
            return _t.insert(kv);
        }

        iterator begin()
        {
            return _t.begin();
        }

        iterator end()
        {
            return _t.end();
        }

    private:
        RBTree<K, pair<const K, V>, MapOfVal> _t;
    };
}